interface

Доступность

Flash Player 6.

Синтаксис

interface InterfaceName [extends InterfaceName ] {}

Замечание: Для использования этого ключевого слова, вы должны указать ActionScript 2.0 и Flash Player 6 или более новые во вкладке Flash диалогового окна Publish Settings для вашего файла FLA. Это ключевое слово поддерживается только в случае использования во внешних файлах скриптов, но не в скриптах, написанных в окне Actions.

Описание

Ключевое слово; определяет интерфейс. Интерфейс подобен классу, но имеет следующие важные отличия:

Для получения дополнительной информации, смотрите "Создание и использование интерфейсов" в Использовании ActionScript во Flash.

Пример

Следующий пример показывает несколько путей определения и подключения интерфейсов:

(в папке самого верхнего уровня файлы .as: Ia, B, C, Ib, D, Ic, E)

// имя файла Ia.as
interface Ia
{
  function k():Number;         // только объявление метода
  function n(x:Number):Number; // без реализации 
}
// имя файла B.as
class B implements Ia
{
  function k():Number {return 25;}
  function n(x:Number):Number {return x+5;}
} 
// внешний скрипт или скрипт в панели Actions
var mvar:B = new B();
trace(mvar.k());   // 25
trace(mvar.n(7)); // 12

// имя файла c.as
class C implements Ia 
{
  function k():Number {return 25;}
} // error: class must implement all interface methods

// имя файла Ib.as
interface Ib
{
  function o():Void;
} 
class D implements Ia, Ib
{
  function k():Number {return 15;}
  function n(x:Number):Number {return x*x;}
  function o():Void {trace("o");} 
} 

// внешний скрипт или скрипт в панели Actions
mvar = new D();
trace(mvar.k());   // 15
trace(mvar.n(7));  // 49
trace(mvar.o());   // "o"

interface Ic extends Ia
{
  function p():Void;
} 
class E implements Ib, Ic
{
  function k():Number {return 25;}
  function n(x:Number):Number {return x+5;}
  function o():Void {trace("o");} 
  function p():Void {trace("p");} 
} 

См. также

class, extends, implements